[INFO] fetching crate pipefog 0.0.3...
[INFO] testing pipefog-0.0.3 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate pipefog 0.0.3 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate pipefog 0.0.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate pipefog 0.0.3
[INFO] tweaked toml for crates.io crate pipefog 0.0.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate pipefog 0.0.3 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pipefog 0.0.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded peg-runtime v0.6.3
[INFO] [stderr]   Downloaded typed-builder v0.23.2
[INFO] [stderr]   Downloaded peg v0.6.3
[INFO] [stderr]   Downloaded inflections v1.1.1
[INFO] [stderr]   Downloaded synthez v0.4.0
[INFO] [stderr]   Downloaded synthez-core v0.4.0
[INFO] [stderr]   Downloaded cucumber-codegen v0.22.1
[INFO] [stderr]   Downloaded cucumber v0.22.1
[INFO] [stderr]   Downloaded gherkin v0.15.0
[INFO] [stderr]   Downloaded cucumber-expressions v0.5.0
[INFO] [stderr]   Downloaded typed-builder-macro v0.23.2
[INFO] [stderr]   Downloaded nom_locate v5.0.0
[INFO] [stderr]   Downloaded peg-macros v0.6.3
[INFO] [stderr]   Downloaded synthez-codegen v0.4.0
[INFO] [stderr]   Downloaded inventory v0.3.21
[INFO] [stderr]   Downloaded smart-default v0.7.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8dab5e487d30a861280d8612e2c989488246f643dd4d46063d41144131f73df1
[INFO] running `Command { std: "docker" "start" "-a" "8dab5e487d30a861280d8612e2c989488246f643dd4d46063d41144131f73df1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8dab5e487d30a861280d8612e2c989488246f643dd4d46063d41144131f73df1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8dab5e487d30a861280d8612e2c989488246f643dd4d46063d41144131f73df1", kill_on_drop: false }`
[INFO] [stdout] 8dab5e487d30a861280d8612e2c989488246f643dd4d46063d41144131f73df1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] be095ef3dc4934ad3c277ad7dbfdd12fb84dcbfb79959ac7be1a41759654673c
[INFO] running `Command { std: "docker" "start" "-a" "be095ef3dc4934ad3c277ad7dbfdd12fb84dcbfb79959ac7be1a41759654673c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling zmij v1.0.16
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling pipefog v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/lib.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:158:20
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let secs = rng.gen_range(0..=end);
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.91s
[INFO] running `Command { std: "docker" "inspect" "be095ef3dc4934ad3c277ad7dbfdd12fb84dcbfb79959ac7be1a41759654673c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "be095ef3dc4934ad3c277ad7dbfdd12fb84dcbfb79959ac7be1a41759654673c", kill_on_drop: false }`
[INFO] [stdout] be095ef3dc4934ad3c277ad7dbfdd12fb84dcbfb79959ac7be1a41759654673c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] abe8584d4a9a7d1af1393a15bc658bb5f613c58d71248ac7b9a6e9f018f319ab
[INFO] running `Command { std: "docker" "start" "-a" "abe8584d4a9a7d1af1393a15bc658bb5f613c58d71248ac7b9a6e9f018f319ab", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling peg-runtime v0.6.3
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling inventory v0.3.21
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling peg-macros v0.6.3
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling peg v0.6.3
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling nom_locate v5.0.0
[INFO] [stderr]    Compiling pipefog v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/lib.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:158:20
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let secs = rng.gen_range(0..=end);
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling sealed v0.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling typed-builder-macro v0.23.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling smart-default v0.7.1
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling synthez-core v0.4.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling synthez-codegen v0.4.0
[INFO] [stderr]    Compiling typed-builder v0.23.2
[INFO] [stderr]    Compiling synthez v0.4.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling cucumber-expressions v0.5.0
[INFO] [stderr]    Compiling gherkin v0.15.0
[INFO] [stderr]    Compiling cucumber-codegen v0.22.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling cucumber v0.22.1
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/lib.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:158:20
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let secs = rng.gen_range(0..=end);
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 48.89s
[INFO] running `Command { std: "docker" "inspect" "abe8584d4a9a7d1af1393a15bc658bb5f613c58d71248ac7b9a6e9f018f319ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abe8584d4a9a7d1af1393a15bc658bb5f613c58d71248ac7b9a6e9f018f319ab", kill_on_drop: false }`
[INFO] [stdout] abe8584d4a9a7d1af1393a15bc658bb5f613c58d71248ac7b9a6e9f018f319ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 82456ddecd344e916e09692308780f8467c84dde6dca224260754a14df355d0c
[INFO] running `Command { std: "docker" "start" "-a" "82456ddecd344e916e09692308780f8467c84dde6dca224260754a14df355d0c", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/lib.rs:157:25
[INFO] [stderr]     |
[INFO] [stderr] 157 |     let mut rng = rand::thread_rng();
[INFO] [stderr]     |                         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]    --> src/lib.rs:158:20
[INFO] [stderr]     |
[INFO] [stderr] 158 |     let secs = rng.gen_range(0..=end);
[INFO] [stderr]     |                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `pipefog` (lib) generated 2 warnings
[INFO] [stderr] warning: `pipefog` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pipefog-0e87842985f6ca5d)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test tests::test_count_syllables_basic ... ok
[INFO] [stdout] test tests::test_hash_strings_test_sample ... ok
[INFO] [stdout] test tests::test_hex_input ... ok
[INFO] [stdout] test tests::test_is_alpha_word_examples ... ok
[INFO] [stdout] test tests::test_is_base32_lowercase_examples ... ok
[INFO] [stdout] test tests::test_is_capitalized_word_examples ... ok
[INFO] [stdout] test tests::test_is_base32_uppercase_examples ... ok
[INFO] [stdout] test tests::test_is_snake_case_word_examples ... ok
[INFO] [stdout] test tests::test_is_uppercase_word_examples ... ok
[INFO] [stdout] test tests::test_obfuscate_datetime_when_microseconds_format_should_preserve_precision ... ok
[INFO] [stdout] test tests::test_to_datetime_when_offset_format_without_colon_should_return_datetime_and_format ... ok
[INFO] [stdout] test tests::test_obfuscate_base32_lowercase_preserves_class ... ok
[INFO] [stdout] test tests::test_obfuscate_datetime_when_offset_format_should_preserve_offset ... ok
[INFO] [stdout] test tests::test_obfuscate_base32_uppercase_preserves_class ... ok
[INFO] [stdout] test tests::test_to_datetime_when_t_z_milliseconds_format_should_return_datetime_and_format ... ok
[INFO] [stdout] test tests::test_to_datetime_when_z_format_should_return_datetime_and_format ... ok
[INFO] [stdout] test tests::test_to_datetime_when_offset_format_should_return_datetime_and_format ... ok
[INFO] [stdout] test tests::test_well_known_inputs_detection ... ok
[INFO] [stdout] test tests::test_to_datetime_when_invalid_should_return_none ... ok
[INFO] [stdout] test tests::test_hash_strings_simple ... ok
[INFO] [stdout] test tests::test_well_known_inputs_obfuscation ... ok
[INFO] [stdout] test tests::test_obfuscate_datetime_when_z_format_should_preserve_delta ... ok
[INFO] [stdout] test tests::test_count_syllables_repeated ... ok
[INFO] [stdout] test tests::test_to_datetime_when_microseconds_format_should_return_datetime_and_format ... ok
[INFO] [stdout] test tests::test_is_alpha_word_cases ... ok
[INFO] [stdout] test tests::test_obfuscate_datetime_when_t_z_milliseconds_format_should_preserve_format ... ok
[INFO] [stdout] test tests::test_bytes_to_syllables_simple ... ok
[INFO] [stdout] Feature: Obfuscation preserves classification
[INFO] [stdout]   Scenario Outline: obfuscate alpha_word
[INFO] [stdout]    ✔  Given the input "lowercase"
[INFO] [stdout]    ✔  When I obfuscate it as alpha_word
[INFO] [stdout]    ✔  Then the result is a valid alpha_word and equals "owokakown"
[INFO] [stdout]   Scenario Outline: obfuscate alpha_word
[INFO] [stdout]    ✔  Given the input "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
[INFO] [stdout]    ✔  When I obfuscate it as alpha_word
[INFO] [stdout]    ✔  Then the result is a valid alpha_word and equals "havadplachishadgutichavtwohisuexegbefgivaftthembouse"
[INFO] [stdout]   Scenario Outline: obfuscate uppercase_word
[INFO] [stdout]    ✔  Given the input "UPPERCASE"
[INFO] [stdout]    ✔  When I obfuscate it as uppercase_word
[INFO] [stdout]    ✔  Then the result is a valid uppercase_word and equals "DEOLIADUP"
[INFO] [stdout]   Scenario Outline: obfuscate uppercase_word
[INFO] [stdout]    ✔  Given the input "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
[INFO] [stdout]    ✔  When I obfuscate it as uppercase_word
[INFO] [stdout]    ✔  Then the result is a valid uppercase_word and equals "ATAPUGHOTHODWHENETOLDECOMMEFVANVERHETMANTIMELFECTNOW"
[INFO] [stdout]   Scenario Outline: obfuscate capitalized_word
[INFO] [stdout]    ✔  Given the input "Capitalized"
[INFO] [stdout]    ✔  When I obfuscate it as capitalized_word
[INFO] [stdout]    ✔  Then the result is a valid capitalized_word and equals "Commesmenag"
[INFO] [stdout]   Scenario Outline: obfuscate capitalized_word
[INFO] [stdout]    ✔  Given the input "Verylongcapitalizedwordtotestcyclinglogic"
[INFO] [stdout]    ✔  When I obfuscate it as capitalized_word
[INFO] [stdout]    ✔  Then the result is a valid capitalized_word and equals "Beappunginstizansthiscontquifpartarlmanbu"
[INFO] [stdout]   Scenario Outline: obfuscate snake_case_word
[INFO] [stdout]    ✔  Given the input "snake_case_word"
[INFO] [stdout]    ✔  When I obfuscate it as snake_case_word
[INFO] [stdout]    ✔  Then the result is a valid snake_case_word and equals "entsam_mustsho_ag"
[INFO] [stdout]   Scenario Outline: obfuscate snake_case_word
[INFO] [stdout]    ✔  Given the input "test_string_with_consonants"
[INFO] [stdout]    ✔  When I obfuscate it as snake_case_word
[INFO] [stdout]    ✔  Then the result is a valid snake_case_word and equals "owso_vanop_actin"
[INFO] [stdout]   Scenario Outline: obfuscate snake_case_word
[INFO] [stdout]    ✔  Given the input "__leading_underscores__"
[INFO] [stdout]    ✔  When I obfuscate it as snake_case_word
[INFO] [stdout]    ✔  Then the result is a valid snake_case_word and equals "__givect_acib_illig_what__"
[INFO] [stdout]   Scenario Outline: obfuscate snake_case_word
[INFO] [stdout]    ✔  Given the input "a_b_c_d_e_f_g"
[INFO] [stdout]    ✔  When I obfuscate it as snake_case_word
[INFO] [stdout]    ✔  Then the result is a valid snake_case_word and equals "ett_enc"
[INFO] [stdout]   Scenario Outline: obfuscate snake_case_word
[INFO] [stdout]    ✔  Given the input "very_long_snake_case_identifier_name"
[INFO] [stdout]    ✔  When I obfuscate it as snake_case_word
[INFO] [stdout]    ✔  Then the result is a valid snake_case_word and equals "ardcont_oen_acqu_illed_vanex_teil_untach"
[INFO] [stdout]   Scenario Outline: obfuscate base32_lowercase
[INFO] [stdout]    ✔  Given the input "mfrggzdfmztwq2lknnwg23tp"
[INFO] [stdout]    ✔  When I obfuscate it as base32_lowercase
[INFO] [stdout]    ✔  Then the result is a valid base32_lowercase and equals "tzfksjm4zv4eojieh5lvbqcq"
[INFO] [stdout]   Scenario Outline: obfuscate base32_lowercase
[INFO] [stdout]    ✔  Given the input "mfrggzdfmztwq2lknnwg23tpmfrggzdfmztwq2lknnwg23tpmfrggzdfmztw"
[INFO] [stdout]    ✔  When I obfuscate it as base32_lowercase
[INFO] [stdout]    ✔  Then the result is a valid base32_lowercase and equals "3g7g35ftet2vnop3wndan44vqlcukrfhnqe6bzahgkiz5cppz2ylzmascuar"
[INFO] [stdout]   Scenario Outline: obfuscate base32_uppercase
[INFO] [stdout]    ✔  Given the input "MFRGGZDFMZTWQ2LKNNWG23TP"
[INFO] [stdout]    ✔  When I obfuscate it as base32_uppercase
[INFO] [stdout]    ✔  Then the result is a valid base32_uppercase and equals "THF3P3YWUPIWVM6U7JDGG6LD"
[INFO] [stdout]   Scenario Outline: obfuscate base32_uppercase
[INFO] [stdout]    ✔  Given the input "MFRGGZDFMZTWQ2LKNNWG23TPMFRGGZDFMZTWQ2LKNNWG23TPMFRGGZDFMZTW"
[INFO] [stdout]    ✔  When I obfuscate it as base32_uppercase
[INFO] [stdout]    ✔  Then the result is a valid base32_uppercase and equals "V3Z7RK33DEWK4CC56FTYTUBGRCLNZEXAFDTOZDIN34MHKGL252U32AJSGQRI"
[INFO] [stdout]   Scenario Outline: obfuscate datetime
[INFO] [stdout]    ✔  Given the input "2025-10-02 17:41:16+00:00"
[INFO] [stdout]    ✔  When I obfuscate it as datetime
[INFO] [stdout]    ✔  Then the result is a valid datetime and equals "2000-01-01 00:00:00+00:00"
[INFO] [stdout]   Scenario Outline: obfuscate datetime
[INFO] [stdout]    ✔  Given the input "2022-05-16 22:39:20-05:00"
[INFO] [stdout]    ✔  When I obfuscate it as datetime
[INFO] [stdout]    ✔  Then the result is a valid datetime and equals "1999-12-31 19:00:00-05:00"
[INFO] [stdout]   Scenario Outline: obfuscate datetime
[INFO] [stdout]    ✔  Given the input "2022-05-16T22:39:20Z"
[INFO] [stdout]    ✔  When I obfuscate it as datetime
[INFO] [stdout]    ✔  Then the result is a valid datetime and equals "2000-01-01T00:00:00Z"
[INFO] [stdout]   Scenario Outline: obfuscate datetime
[INFO] [stdout]    ✔  Given the input "2026-01-25 14:30:00-0500"
[INFO] [stdout]    ✔  When I obfuscate it as datetime
[INFO] [stdout]    ✔  Then the result is a valid datetime and equals "1999-12-31 19:00:00-0500"
[INFO] [stdout]   Scenario Outline: obfuscate datetime
[INFO] [stdout]    ✔  Given the input "2025-12-29 13:18:43.470684+00:00"
[INFO] [stdout]    ✔  When I obfuscate it as datetime
[INFO] [stdout]    ✔  Then the result is a valid datetime and equals "2000-01-01 00:00:00.000000+00:00"
[INFO] [stdout]   Scenario Outline: obfuscate datetime
[INFO] [stdout]    ✔  Given the input "2025-12-29T13:18:43.470Z"
[INFO] [stdout]    ✔  When I obfuscate it as datetime
[INFO] [stdout]    ✔  Then the result is a valid datetime and equals "2000-01-01T00:00:00.000Z"
[INFO] [stdout]   Scenario Outline: obfuscate datetime
[INFO] [stdout]    ✔  Given the input "2026-01-25T14:30:00.123456-0500"
[INFO] [stdout]    ✔  When I obfuscate it as datetime
[INFO] [stdout]    ✔  Then the result is a valid datetime and equals "1999-12-31T19:00:00.000000-0500"
[INFO] [stdout]   Scenario Outline: obfuscate email
[INFO] [stdout]    ✔  Given the input "user@example.com"
[INFO] [stdout]    ✔  When I obfuscate it as email
[INFO] [stdout]    ✔  Then the result is a valid email and equals "ellar30@grethe4f.com"
[INFO] [stdout]   Scenario Outline: obfuscate email
[INFO] [stdout]    ✔  Given the input "john.doe@company.org"
[INFO] [stdout]    ✔  When I obfuscate it as email
[INFO] [stdout]    ✔  Then the result is a valid email and equals "allbe28@estsom7b.info"
[INFO] [stdout]   Scenario Outline: obfuscate email
[INFO] [stdout]    ✔  Given the input "test-user_123@sub.domain.io"
[INFO] [stdout]    ✔  When I obfuscate it as email
[INFO] [stdout]    ✔  Then the result is a valid email and equals "proje69@thatendc.gov"
[INFO] [stdout] [Summary]
[INFO] [stdout] 1 feature
[INFO] [stdout] 25 scenarios (25 passed)
[INFO] [stdout] 75 steps (75 passed)
[INFO] [stdout] test cucumber_tests::cucumber_features ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pipefog-c52883c77f7c8199)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/well_known_inputs.rs (/opt/rustwide/target/debug/deps/well_known_inputs-121f77feeba83a76)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests pipefog
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "82456ddecd344e916e09692308780f8467c84dde6dca224260754a14df355d0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82456ddecd344e916e09692308780f8467c84dde6dca224260754a14df355d0c", kill_on_drop: false }`
[INFO] [stdout] 82456ddecd344e916e09692308780f8467c84dde6dca224260754a14df355d0c
